Many times when interacting with a dynamic document, such as a page generated by a server on the World Wide Web or an animated image, such as that with Moving Pictures Experts Group (MPEG) formatting, only a portion of the document is changed. For example, a frame changes in a document that includes multiple frames as a result of an input at the user's system or an automatic response from the server originally generating the document. When only a portion of the document changes, the entire document is regenerated by a document renderer on the user's system, such as a markup document renderer for rendering markup documents, an arbitrary two-dimensional engine, etc. Regenerating the entire document when only a portion of the document changes results in unnecessary processing. A process in standard two-dimensional graphics called "dirty-rect" or "sub-rect" processing resolves this processing deficiency. Dirty-rect processing identifies the changed portions of a document as rectangles and only rerenders the identified rectangles; then, document information that has not changed is kept in display memory. Thus, dirty-rect processing does not need to render the unchanged portions of a document, thereby increasing the speed of the system by not performing unnecessary image rendering.
When a document is assigned as texture on a three-dimensional model, the three-dimensional processor or engine takes the document that is rendered by a document renderer and maps it to the three-dimensional model. When a change occurs in a portion of the mapped document, the three-dimensional engine will remap the entire document regardless of how little has changed on the document. The process of applying a document or image as texture to a three-dimensional model may first require translating or modifying the document or image before using it as texture. For example, the three-dimensional processor may need to copy the document or image to video memory, to resize it, or change the pixel format. Even if dirty-rect processing is implemented by the document renderer, the three-dimensional engine still must remap the entire texture and perform any other required and sometimes lengthy processing. When documents are used as texture, the technique of dirty-rect processing only reduces processing performed by the document renderer. As a result, there exists a need for reducing the unnecessary three-dimensional engine mapping of the unchanged portions of a document.
The present invention is directed to overcoming the foregoing and other disadvantages. More specifically, the present invention is directed to providing a method, system and computer-readable medium suitable for efficient image rendering of dynamically changing document textures mapped on three-dimensional models.